2015年7月20日月曜日

リリース間近のWindows 10 Build 10240でTungstenを動かしてみた

Windows 10は、初めにTechnical Preview、続いてInsider Previewと名前が変わり、7/29に正式版が公開される予定です。
先日、製品前の最終ビルドと予想される(※)Build 10240がInsider Preview使用者向けに公開されたので、 Tungsten 2.04の動作を少し確認してみました。
(※)その根拠は、OSバージョン情報にPreview表記がなくなった、EULAにプレリリース表記がなくなった、デスクトップ右下にあったビルド番号の透かしが消えた、など。

ストアアプリのローカルアプリ取り込み以外は、ほぼ問題なく動作します。

Windowsバージョンの誤認識問題はすでに修正済み

Windows 10用のマニフェストは導入済みなので、内部バージョンがWindows 8.1相当に誤認識される問題はすでに修正済です。
ちなみに、Windows 10は開発途中で内部バージョンが6.4から10.0に変わりましたが、この影響は特にありません。

既定のブラウザ設定が不便に

ブラウザ設定の「既定のブラウザ」から、Tungstenを既定のブラウザに設定することが可能ですが、 「既定のプログラムに設定する」ボタンを押しても、「既定のアプリを変更するには、[設定] > [システム] > [既定のアプリ] に移動してください。」と表示されるだけになってしまい、関連付け画面が出なくなってしまいました。
Windows 8.1までのプログラム関連付け画面はWindows10でもなくなっていません。にもかかわらず、指示に従い数ステップかけて自力で移動しなければならないのです。

Windows 10の困った仕様変更の1つです。設定アプリを起動させるような仕組みはなかったのでしょうか。 1年足らずでリリースなので時間が足りず、この辺まで手が回っていないのでしょうか。こんなに中途半端な作りなら、何も手を付けないでもらいたいです。

とりあえず、2.05では別の手段を使って、関連付け画面を表示するように変更する予定です(下図)。Tungstenを探して選択するという手順が余分に増えてしまいますが、これは既存のAPIを不便な方向に勝手に変更したMSの責任です。

タブレットモード変更時にタイトルバーが残る

Tungstenでは、表示領域を稼ぐために最大化時はタイトルバーを隠すようにしています。 しかし、タブレットモードに変更した場合はその機能が正常に動作しません。
タブレットモードに変更すると、すべてのウィンドウが強制的に最大化されますが、 OSから最大化したという通知が全く来ないので、タイトルバーが消えずにそのまま最大化されてしまいます。
見た目の問題だけで、他のアプリに影響を与えることはないため致命的ではありません。

タブレットモード変更時にアプリにどのような通知が送られるのか調査中です。修正可能であれば修正したいと思います。

WindowsストアアプリはやっぱりTungstenに取り込めない

Technical Previewで動かしてみた時にも書きましたが、Windows 10で大きく変わるものの1つはストアアプリがウィンドウ化できるようになったことです。

Technical Previewの時点でも取り込めなかったのですが、Build 10240でも変わりませんでした。

ローカルアプリの取り込みにWin32APIのSetParent()を使用しているのですが、ストアアプリのウィンドウを子ウィンドウにしようとしても拒否されてしまうようです。
Windowsの内部仕様によるものなので、どうすることもできません。

また、ストアアプリが生成したと思われる名前が何もないウィンドウが一覧に入ってしまい、それを取り込むとストアアプリの動作に影響を与えてしまう問題が見つかりました。
2.05ではストアアプリと思われるウィンドウを除外する予定です。

白いタイトルバーとデフォルトスキン

デスクトップアプリはタイトルバーの色が白固定で、設定アプリでは一切変更できません。
Tungstenのクイックスタート、タブ背景と色が類似していて、タイトルバーの境界がわかりにくくなってしまいました。

アプリがアクティブかどうかは、たった1pxの境界線の色と影で判断するしかありません。
Windows8でウィンドウの細かなカスタマイズ機能をなくし、Windows10でタイトルバーのカスタマイズをなくしました。 MSはどこまで不自由にさせるつもりでしょうか。フィードバック無視しやがって


次バージョン(2.05)での対応

ストアアプリの問題は致命的なので、次バージョン(2.05)で修正する予定です。
これ以外に致命的な問題を引き起こすことはなさそうなので、 その修正をもってWindows 10に対応したとみなすことにします。
次のバージョン(2.05)からWindows 10対応とする予定です。

※2.05の公開時期は未定です。