2019年12月8日日曜日

Check and Send 1.1.1

Check and Send 1.1.1を公開しました。
宛名チェックの不具合を2つ修正しています。

  • Fixed: 宛名チェックの確認ウィンドウが正しく動作しないのを修正。
  • Fixed: 「アドレス帳の宛名と異なっていたら修正する」の設定のとき、アドレス帳にないアドレスの宛名が削除されていたのを修正。現在は、そのままキープされます。

ダウンロード:

2つめの修正は、5年以上前からあったものです。修正するのを忘れていました…

2019年10月25日金曜日

Thunderbird 68.2.0とアドオンの対応状況

Thunderbird 68.2.0 がリリースされました。

このバージョンから自動アップデートが有効になっているので、まだバージョンアップしたくない場合は、うっかり更新しないように注意が必要です。

v68系に移行できない大きな理由に、アドオンの対応があると思いますが、以下のサイトで対応状況をまとめてくれています。

ThunderKdB: Extension Developer Resources

10/24現在では、125件が対応できているみたいです。
全部で1340件のうち、v60系対応ですら302件と、v60の時点で1000件以上がドロップアウトしてしまっていたんですね…

ThunderbirdはFirefoxとは違って、WebExtensions/MailExtensionsに移行するも、レガシーアドオンもサポートする方針を打ち出してきました。
実際、v60/v68ではアドオンの修正が必要なものの、レガシーアドオンも動いています。
ですが、方針転換し、次期ESRリリース(Thunderbird 78, 2020年6月リリース予定)からは、レガシーのサポートをやめる話も出てきています。

Intent to de-support: traditional add-ons

アドオン作者としては、WebExtensionsでの作り直しの労力や、レガシーアドオンの自由度の高さから、サポートを継続してほしいですが、
この対応状況を見ると、有名どころの機能を本体に組み込んでしまって、サポートを打ち切ろうという考えも分からなくもないです。

で、最後に、私のアドオンの対応状況ですが、v68.2.0でもう少しベータテストを継続してから、正式版をリリースしようと思います。
これから一気に移行が進んで、バグ連絡がくることも考えられるので。
今のところ、v68.2.0でも問題なさそうです。



2019年10月23日水曜日

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

「互換性がありません」と出て、インストールできない場合は、まず上記を参考にアドオンを修正してください。

インストールできたが動作しない場合(ほとんどがそうだと思いますが)、ソースコードの修正が必要になります。
基本的には、以下に記載された内容に対応していく必要があります。

ここでは、実際に私がやったことも踏まえて、修正方法をまとめていきたいと思います。


XUL/Javascriptの知識が必要ですが、HTML/他のプログラミング言語にふれたことがある方であれば、なんとなくわかると思います。

あわせて、エラーコンソール(Ctrl+Shift+Jで開きます)のエラーメッセージも確認しておいてください。どの修正をしたらいいかのヒントになります。

今回は、比較的どのアドオンにも共通するものを4つ書きます。UI回りなど、ほかにもありますが、それはまたの機会に。

0.前提

  • アドオンの解凍、再パッケージのやり方はわかっている方を想定しています。
    わからない方は、Thunderbird 68に未対応アドオンをインストールする方法 を確認してください。(といっても、zipで解凍/圧縮するだけです)
    また、今回の修正対象の*.xul, *.jsファイルは、解凍してできた「content」フォルダの中にあることが多いです。

1.グローバル変数の定義
以下のグローバル変数の定義がなくなりました。
エラーコンソールで、「nsIXXXXXの定義がない」と言われているときは、だいたいこれです。
ここに挙がっていないものもあるかもしれないですが、同様の対応でよいです。
実際、nsMsgViewCommandType は、オフィシャルには説明はありませんでしたが、定義がなくなっていました。

メインウィンドウ:
  • NsMsgFolderFlags
  • nsMsgViewCommandType

メール編集ウィンドウ:
  • nsIMsgCompDeliverMode
  • nsIMsgCompSendFormat
  • nsIMsgCompConvertible
  • nsIMsgCompType
  • nsIMsgCompFormat
  • nsIAbPreferMailFormat
  • nsIPlaintextEditorMail
  • nsISupportsString
  • mozISpellCheckingEngine

Components.interfaces.」を頭につけたものに全部置き換えるか、
Components.interfaces.NsMsgFolderFlags

自分で定義しなおします。
const NsMsgFolderFlags = Components.interfaces.NsMsgFolderFlags;


2.Importの変更
Javascriptモジュールのインポートの仕方が変わっています。
インポートでエラーになるか、「XXX is not a function」のようなエラーの場合は、この修正でなおる可能性があります。

import文によって、修正の仕方が変わります。
まずは、*.jsファイルのimport文を確認してください。

Case 0:
まず、
  • MailUtils.js
  • mailServices.js
をインポートしている場合、ファイル名が変わっているので、それぞれ
  • MailUtils.jsm
  • mailServices.jsm
に変更して、以下のCase 1/Case 2の対応をしてください。
(拡張子がjsmにかわっている)

また、MailUtils.js の MailUtils.getFolderForUri 関数は、MailUtils.getExistingFolder に変わっているので、使っている場合は修正してください。

Case 1:
以下の場合、
Components.utils.import("resource://foo/modules/Foo.jsm");
// または
ChromeUtils.import("resource://foo/modules/Foo.jsm");

以下のように修正します。
var {Foo, Bar} = ChromeUtils.import("resource://foo/modules/Foo.jsm");

「Foo」「Bar」は、使用する関数名を書きます。
よくわからない場合は、インポートファイルに定義してある全てを書いてしまえばOKです。

で、何が定義されているかはインポートファイルを確認します。
インポートファイルの確認の仕方は、以下の通り。
  1. Thunderbirdのインストールフォルダにある「omni.jar」をzipで解凍
  2. 解凍してできた「modules」フォルダの中から、ファイルを探す
  3. 見つけたファイルの冒頭にある「EXPORTED_SYMBOLS」を確認する

iteratorUtils.jsmを例にすると、EXPORTED_SYMBOLSは以下のようになっています。
this.EXPORTED_SYMBOLS = ["fixIterator", "toXPCOMArray", "toArray"];

なので、そのインポートは以下のようになります。(「"」は削除してください)
var {fixIterator, toXPCOMArray, toArray} = ChromeUtils.import("resource:///modules/iteratorUtils.jsm");

Case 2:
以下の場合、
ChromeUtils.import("resource://foo/modules/Foo.jsm", scope);

以下のように修正します。
var scope = ChromeUtils.import("resource://foo/modules/Foo.jsm");

単に2番目の引数に書いているものを、import関数の戻り値にもってくるだけです。


3.Stringbundleの修正
<stringbundleset> と <stringbundle> の削除対応です。
多言語化されているアドオンの場合は、対応が必要です。
ワークアラウンドが準備されているので、修正は簡単です。

<stringbundle>が定義されているxulファイルに、以下の定義を追加するだけです。

<script type="application/x-javascript" src="chrome://global/content/elements/stringbundle.js"/>


4.Dialogのondialogaccept/ondialogcancelイベントハンドラの修正

オプション画面などのダイアログが閉じれない/変更が反映されない場合は、この修正が必要かもしれません。

以下のように、ダイアログのOK/Cancelを押したときに呼び出す処理をXULファイルで指定している場合、
<dialog buttons="accept,cancel"
    ondialogaccept="return onAccept();"
    ondialogcancel="return onCancel();>

</dialog>

Javascriptでのイベントハンドラ登録に変更します。
document.addEventListener("dialogaccept", function(event) {
    let ret = onAccept();
    if (ret == -1) { //onAccept()がエラーを返したときに、ダイアログを閉じない場合
        event.preventDefault();
    }
});

document.addEventListener("dialogcancel", function(event) {
    let ret = onCancel();
    if (ret == -1) { //onCancel()がエラーを返したときに、ダイアログを閉じない場合
        event.preventDefault();
    }
});

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/

2019年8月27日火曜日

アドオンの Thunderbird 68 対応

Thunderbirdの次期アップデート(Thunderbird 68.0)がせまっています。
今は、多言語化対応の作業中のようです。
(8/28) Thunderbird 68.0がリリースされました。
https://www.thunderbird.net/ja/


新機能を紹介するページも準備されています。

アドオンに影響する変更も多数入っており、旧来のアドオンはアップデート必須になっています。

ということで、Thunderbird 68.x対応のアドオンを公開します。
現時点で、対応できているアドオンです。
  • Check and Send 1.1.0
  • Maximize Message Pane 1.3.0
  • Priority Switcher 0.8.1
  • New Tab Button 0.3.0
  • EnForward 0.5.0
  • Evernote Tab 0.1.21
  • Tag Toolbar 1.0.0

ダウンロード(Evernote Tab除く):
http://hogi.sakura.ne.jp/ja/index.rhtml

各ページの下のほう(ベータ版のところ)にあります。

Evernote Tabはこちらからダウンロードしてください。
http://hogi.sakura.ne.jp/hiki/?ExperimentalExtensions

Tag Toolbar, EnForwardも対応を予定していますが、修正規模が大きいので、でき次第公開します。
場合によっては、対応をあきらめるかもしれません。
(9/7 EnForward を公開しました。9/22 Tag Toolbarを公開しました。)

注意事項:
  • 動作確認が不十分なため、ベータ版としています。(11/24: 正式版を公開しました)
  • Thunderbird 68.x専用です。Thunderbird 69 Beta以降では動作しません。
  • EnForward は Lightning のインストールが必須です。Lightning がない場合、リマインダ設定画面がエラーになります。

アドオンの修正は、以下のページを参考に行いました。

冒頭に、「The Future」として、レガシーアドオンについての言及があります。
Thunderbird 68以降は、分らんよと。
Firefoxとは異なり、WebExtension(ThunderbirdではMailExtensionと呼ぶみたい)とレガシーの両対応を目指したものの、やはり、厳しくなってきたんでしょうか。

Thunderbird 69 Betaでは、まだレガシーもサポートされていますが、様子を見て対応を考えていきたいと思います。
MailExtensionにチャレンジしてみたい気もしますが、情報も少ないですし、なかなか踏ん切りがつかないです。
やれたとしても、簡単なやつ1~2個が限界かな…

[2019/08/28 Update]
Check and Send 1.1.00b3を公開しました。宛名チェックの不具合を修正しています。

対応チケット:
http://hogi.sakura.ne.jp/hiki/?Ticket-330

[2019/08/30 Update]
Check and Send 1.1.00b4を公開しました。アカウントごとの設定が動作しないのを修正しました。

対応チケット:
http://hogi.sakura.ne.jp/hiki/?Ticket-315

[2019/09/07 Update]
EnForward 0.5.00b1を公開しました。Thunderbird68.0向けの、最初のベータ版です。

[2019/09/08 Update]
Check and Send 1.1.00b5を公開しました。
noreply@~ のチェックを追加しています。
参考:
http://hogi-ja.blogspot.com/2019/09/noreply-check-and-send.html

EnForward 0.5.00b2を公開しました。
バグ修正と、OneNoteの送信先を変えられるようにしました。本来変える必要のないものですが、Evernote/OneNote以外に送りたいという要望が多く、ここに設定できるように仕様を変更しました。

[2019/09/08 Update2]
EnForward 0.5.00b3を公開しました。設定変更が反映されない不具合を修正しました。

[2019/09/14]
Check and Send 1.1.00b6を公開しました。
オプションダイアログの不具合を修正しています。

[2019/09/15]
全アドオンの対応Thunderbirdのバージョン指定を修正しました。

Evernote Tab 0.1.20を公開しました。Thunderbird 60では非対応としていましたが、要望が多かったのと、修正も少なかったので復活です。

[2019/09/16]
EnForward 0.5.00b5, Evernote Tab 0.1.21を公開しました。スタイルシート設定に問題があったのを修正しました。

[2019/09/18]
Priority Switcher 0.5.00b4を公開しました。Overlayでエラーが出るのを修正しました。
エラー出力がなくなっただけで、実動作に変化はありません。

[2019/09/22]
Tag Toolbar 1.0.00b3を公開しました。過去からあった、送信メールにタグ付けができない不具合も修正しています。

Thunderbird 68対応を予定していたアドオンは、これですべてになります。

[2019/11/03]
Maximize Message Pane 1.3.00b4を公開しました。
オプションから、「フォルダペインヘッダに閉じるボタンを表示する」を削除しました。(ずっと前から機能しないオプションだったので)

[2019/11/24]
正式版を addons.thunderbird.net に申請しました。承認され次第、自動更新されます。

[2019/12/02] 
Priority Switcherに画像ファイルの不具合があったため修正しました。(v0.8.1)

[2019/12/08]
全アドオンが addons.thunderbird.net が承認されました。ベータテストはいったん区切りとして、以降のアップデートは、別のブログ投稿としてアナウンスします。



2019年7月30日火曜日

VAIO S (VPCS12AFJ) のWindows10化

VAIO S (VPCS12AFJ)という古いノートPCを、まだメインPCとして使っています。
Windows10がリリースされた時の、無償アップグレードを試したのですが、ディスプレイの明るさ(バックライト)が暗く、調整もできなかったので、あきらめて、Windows7に戻して使っていました。

で、Windows7のサポート切れもせまってきて、PC買い替えを検討していたのですが、
ダメもとでもう一度トライしてみたら、無事、最新の19H1(ver 1903)で動くようにできました。
重いゲームなどはしないので、まだまだ現役でいけそうです。

最終的に、
・バックライトの不具合の解消
・ハードディスクアクセス頻発の解消(RSTの更新)
をしました。
もし、同じ症状の方がいたら、ご参考までに。

なお、お決まり事ですが、 試される場合は自己責任でお願いします。

バックライトの不具合を解消する

インテルのグラフィックドライバ(のデフォルト値)に問題があるようなので、古いインテルCPUのPCで同じ症状の場合は、この方法で解消できるかもしれません。
私の場合は、
Core i5 M540 (Arrandale) 第1世代のIntel HD Graphics
です。

レジストリエディタを使って、レジストリを編集します。

まずは、スタートメニューを右クリックして、「ファイル名を指定して実行」を選びます。開いたウィンドウに「regedit」と入力して、レジストリエディタを起動。

レジストリエディタが起動したら、左のツリーを
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000 
と開いていきます。
最後の「0000」のところは、「0001」の場合もあるようです。

ツリーが開けたら、「FeatureTestControl」をダブルクリックして、「値のデータ」を「fb20」に変更します。
(もとの値は、「f800」になっていると思います。)



あとは、レジストリエディタを閉じて、Windowsを再起動すれば画面の明るさが正常に戻って、明るさの調整も効くようになっていると思います。

注意点:
Windows10のバージョンアップをすると、この設定が元に戻ってしまうようです。
バージョンアップして、また画面が暗くなったら、同じ作業を試してみてください。
(Redstone 5 (ver1809) → 19H1 (ver1903)のアップデートで発生しました。)

これは、Windows7→10アップデートでも同様です。
私はこれに気付かず、Windows7の状態でレジストリを確認して、すでに「fb20」だったので、この方法は関係ないかと思い、ほかの方法を探して力尽きていました。
Windows10のアップデートによって、この値が書き換わったことが、そもそもの問題でした。


インテル ラピッドストレージテクノロジー(RST)を更新する

画面が明るくなったのはよかったのですが、今度はハードディスクへのアクセスが止まらず、とにかく動作が重くなってしまいました。
タスクトレイを見てみると、RSTにエラーが表示されていて、ドライバを更新してみたらひとまずおさまったので、その方法です。
(というか、ダウンロードの仕方です。)

まずは、インテルのダウンロードサイトへ。

ここからドライバをダウンロードしてインストールすればいいのですが、最新版は私のように古いPCをサポートしていません。

なので、自分のPCにあったバージョンを探します。
スタートメニューを右クリックして、「デバイスマネージャー」を立ち上げます。
次に、デバイスマネージャーで、「IDE ATA/ATAPIコントローラー」のツリーを開きます。
ここにある、コントローラーの名前を覚えておきます。
私の場合は、
Intel(R) 5 Series 4 Port SATA AHCI Controller
です。


で、ダウンロードサイトに戻って、自分のハードに対応した最新版を探します。
これは、各バージョンのページを開いて、根気よく見ていきます。
古いドライバは、Windows10をサポートしていませんが、気にせずいきます。
機械翻訳しているみたいなので、英語が得意な方は、英語のほうを見たほうがいいかも。

私の場合は、Ver 11.7.0.1013 でした。
 
いくつかファイルがあるのですが、一番上の、「iata_cd.exe」をダウンロードしてインストールします。
インストール完了後、PCを再起動すると、ハードディスクアクセスが多少は落ち着くかと思います。




おかしくなってしまった場合には

もし、問題が起きてしまった場合には、セーフモードで起動して、レジストリ設定やドライバを元に戻してください。最悪、データだけでも救出を。
Windows10では、ブートに失敗するとセーフモードに入れるようになります。

電源を入れてBIOS画面を過ぎたくらいで、長押しで電源を落としてください。これを2回以上繰り返すと、セーフモードに入れると思います。

2019年2月11日月曜日

Thunderbird in 2019

少し前のブログポストですが、2019年のThunderbirdの計画について簡単にメモ。
「※」は、私の勝手なコメント。

Thunderbird in 2019

Making Thunderbird Fly Faster
UIの遅さや、パフォーマンスの改善に取り組む。
より新しく、速い技術を活用して、Thunderbirdのコードを書き直していく。
マルチプロセス化も。

※Firefoxでやった、Electrolysis(E10S)の導入ってとこですかね。

A More Beautiful (and Useable) Thunderbird
UX/UIの改善に取り組む。
  • Gmail supportの改善
    ラベル対応、その他Gmail特有の機能をThunderbirdに取り込む。
    ※連絡先もネイティブで同期してくれるとうれしい。
  • 通知の改善
    OSの通知システムとのよりよい統合
    ※タスクトレイにしまえるようになるのかな。
  • 暗号化、設定まわりのUX/UI改善
    ※これはちょっと時間がかかりそう。

So Much More
技術的な概略はメーリングリストの投稿をみてね。

※ということで、意訳、抜粋してみます。(書きたかったのはここから)

[Maildev] thunderbird near term focus

UIの遅さに取り組む:
  • UIの遅さを分析、特定する
  • UIのパフォーマンスを測定する自動テストをつくる
  • スムーズな操作ができるように、アーキテクチャを変更する
  • Webテクノロジーを活用してコードを書き換える(特に負荷をWorkerにもっていく)
  • マルチプロセス

統合の改善:
  • Gmailサポート
  • 通知(システム統合)
  • .ics取り扱いの改善
    ※「inline event display」といっているので、メール本文のなかでの扱いが改善される?
     使っていないので、ピンとこない。

nsMsgSendの書き換えを完了する:
  • libmimeを取り除くのが最終ゴール。
    ※ユーザ側には影響はなさそう。
     メール送信まわりはアドオンから触りづらかったので、このあたりが改善されるとうれしいけど…ちがうかな。

フィルタの書き換えと改善:
  • 非同期のJavascript実装にする(今は同期のC++)
  • サーバごとのフィルタ適用を改善(全体に適用、フォルダごとに適用など)
  • Raw MIMEでなく、メッセージに対してフィルタできるようにする
  • サーバとの協調
    • ManageSieveプロトコル対応(※これ知らなかった)
    • Google filters対応(GData API)
  • UIのパフォーマンス改善にも効果がありそう

Webテクノロジを使ったプロトコルの書き換え:
  • メールプロトコルをJavascriptで書き換える。SMTPから。

より簡単な暗号化:
  • ユーザが証明書更新の仕方まで気にしなくていいように
  • 専門用語や、まぎらわしいメッセージを削除
  • OTRの実装(※認証方式:Offset Two-Roundのこと?詳しくはわからない)

Best add-onの採用:
  • Best of add-onsをThunderbirdのコアに取り込む
  • データインポート/エクスポート/アクセスの改善(ImportExportTools)
  • TNEF対応(LookOut)
  • Quicktextのいいとこ(テンプレート)
  • Exchange対応の調査

    人気のアドオンは、アドオンのままとしておくことに、あまり意味がない。
    ほとんどのユーザはアドオンを知らないので探さないだろう。
    多くのアドオンは、WebExtensionに更新されることもないだろう。

    アドオンには管理責任が分散される利点があるが、アドオン作者がコードをメンテしてくれるとうれしいなぁ(←虫が良すぎでしょ笑)

自動テストの更新:
  • Mozmillはだいぶ前に終わったけど、まだ、メインのUIテストフレームワーク。
    FirefoxのようにMarionetteに移行すべき。

オープンフォーマット、Structured dataのサポート改善:

    ※このあたりはよく知らないのでわからない。
     vCardのコードは1996年にさかのぼるらしい。

Thunderbirdセットアップ:
  • 会社等で使う人のためのパッケージソリューション

カレンダー:
  • XPCOMコンポーネントの削除、Javascriptクラスでの置き換え
  • カレンダー、タスクタブをself-containedに。できれば、HTMLだけを使って。
  • アラームサービスやほかのバックグラウンドサービスを含め、Lightningのスタートを遅らせられるようにする
  • カレンダー機能が1トリガで見れるようにThunderbirdとのUI統合を改善する
  • XPCOM依存を低減/削除する
  • ical.jsを完成させ、libicalを削除する

2019年2月10日日曜日

次期Thunderbirdへの対応(Thunderbird 65 Beta ~)

次期Thunderbirdのベータ版(Ver65 Beta4)が公開されていますが、旧来のレガシーアドオンは、Ver60のときと同じように、無効化されてしまうようです。

Thunderbird 65 Beta リリースノート

今回、少しまとまった時間がとれたので、お試しで対応版を作ってみました。
インストールできるようにするまではそんなに大変ではないのですが、それ以外の変更の影響が大きく、動作が不安定なものもあります。
また、Thunderbird 65専用で、ほかのバージョンにはインストールできないので、ご注意ください。

  • Check and Send 1.1.00b1
  • Priority Switcher 0.8.00b1
  • New Tab Button 0.3.00b1
  • Tag Toolbar 1.0.00b1
  • Maximize Message Pane 1.3.00b1

このほか、EnForwardも対応させたいのですが、苦戦中です。

ダウンロードはこちらから。


ちなみに、今回の件で、有名どころも離脱しはじめているみたいです。
「レガシーアドオンとして変更に対応し続けるのも、WebExtensionに書き換えるのも無理」と言っています。

TB65 & legacy Addon Reminderfox -- EOL

気づいてみたら、最初にMaximize Message Pane 0.1を公開したのが2005年で、私も趣味で始めた開発が13年も続いています。

10年もたつと、周りの環境も変わりますし、さすがに当初ほど時間も熱意もなくなってきます。まったり開発しているところに、これだけの変化が訪れると躊躇してしまいます。

Reminderfoxの作者さんは違うと思いますが、私のような人も多いのではないかなと思います。

Thunderbirdは、Firefoxとは違って、レガシーアドオンもサポートする方針を採ったわけですが、いずれにせよ、歴史のあるプラットフォームに手を入れるわけですから、その分痛みも大きい。

2019年、開発チームは速く、美しいThunderbirdを目指して、開発を加速させています。(下記ブログ)
アドオンの機能も、よいものは本体に取り込んでいくとも言っています。Traditional Add-onの作者はWebExtension化しないでしょとも(笑)
これまで楽しませてくれたThunderbirdチームとそのプラットフォームに感謝しつつ、新しいThunderbirdに期待していこうかなと思います。
アドオン開発は、できる範囲で細々と。

Thunderbird Blog - Thunderbird in 2019


[2019/7/30 注意]
7/26にThunderbird 69b1がリリースされましたが、以下のアドオンほぼすべてに、問題が出ています。時間をみて、これから調査という段階です。

[2019/8/26 追記]
Thunderbird 68への対応を始めました。
http://hogi-ja.blogspot.com/2019/08/thunderbird-68.html


Tag Toolbar 0.9.12

Tag Toolbar 0.9.12をリリースしました。
ツールバーの設定が、「アイコンの横にテキスト」以外に設定されているときに、メニュータイプのツールバーボタンが表示されなくなっていたので修正しています。

タグボタンや、タブをたくさん開いたときにでてくる「すべてのタブを一覧表示」が表示されるようになっています。

ほかのアドオンにも影響があった可能性もあるので、アドオンをインストールしたけど、ツールバーボタンが出てこなかった場合は、このバージョンで直るかもしれません。

http://hogi.sakura.ne.jp/ja/downloadcgi.rhtml?tagbar

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