Windows 秘話: 復元にまつわる話
"ログオン時に以前のフォルダー ウィンドウを表示する" という機能は、数多くの堂々巡りの議論やユーザーからのフィードバックにより、本当に激動の歴史を生き抜いてきました。
Raymond Chen
マイクロソフトが、Windows 95 で新しいエクスプローラー インターフェイスを導入したときには、開いているウィンドウを保存する機能がありました。この機能により、ログオフするときに開いていたエクスプローラー ウィンドウは、ログオンすると自動的に表示されました。
Windows XP では、この機能は既定で無効になりました。[ログオン時に以前のフォルダ ウィンドウを表示する] チェック ボックスをオンにすると、この機能を有効にできました。既定で無効になっていたにもかかわらず、この機能は Windows Vista に引き継がれました。ですが、Windows 7 では、エクスプローラーでウィンドウの設定を保存する方法が変更されたため、問題が発生しました。
Windows 7 以前の Windows では、エクスプローラー ウィンドウのサイズと位置は、ウィンドウで表示されるフォルダーと関連付けられていました。"マイ ドキュメント" フォルダーは、ある一定のサイズと位置で表示されました。ですが、"マイ ピクチャ" フォルダーは、違うサイズと位置で表示されました。
この設計は、比較的よく見られる厄介なパターンを引き起こしました。ユーザーは、"マイ ドキュメント" フォルダーを開くと、好みのサイズに変更します。それから、ユーザーは好みのサイズに変更したウィンドウを使用して、別のフォルダーに移動し、エクスプローラー ウィンドウを閉じます。その結果、Windows では、"マイ ドキュメント" フォルダーではなく、2 番目のフォルダーの情報としてユーザーが設定したウィンドウのサイズと位置が保存され、ユーザーが "マイ ドキュメント" フォルダーを開くと、"マイ ドキュメント" フォルダーは元のサイズで表示されます。
特に元のサイズが "不適切" である重要な理由がある場合、この動作は、いら立たしいものでした。「理由はわかりませんが、エクスプローラーで表示される "マイ ドキュメント" ウィンドウのサイズは、いつも小さすぎます」、「毎回適切なサイズに変更しますが、次に開くと小さいサイズに戻っています」などの不満を引き起こすことになりました。ですが、"マイ ドキュメント" フォルダーが適切なサイズで表示されるようになった時点で、"マイ ピクチャ" フォルダーを開き、"マイ ドキュメント" フォルダーに移動して、エクスプローラーを閉じると、不満はさらにひどくなりました。この操作により、"マイ ドキュメント" フォルダーは、"マイ ピクチャ" フォルダーと同じサイズと位置で表示されるようになりました。
Windows 7 では、別のフォルダーに移動するときや、ウィンドウを閉じるときに、フォルダーの設定を保存するようにしようとしましたが、事態はさらに悪化しました。ユーザーが "マイ ピクチャ" フォルダーを開いてサイズを変更し、"マイ ドキュメント" フォルダーに移動してウィンドウを閉じると、"マイ ピクチャ" フォルダーの設定が "マイ ドキュメント" フォルダーの設定に影響を与えるだけでなく (これは以前と同じです)、両方のウィンドウが同じサイズと位置で保存されました。その後、ユーザーが "マイ ドキュメント" フォルダーと "マイ ピクチャ" フォルダーを別々に開くと、2 つのウィンドウは重なり合った状態で表示されました。
問題が悪化した原因は、サイズと位置がフォルダーの属性として保存されるのに対して、プレビュー ウィンドウなどのさまざまなフレームのコンポーネントのレイアウトがグローバル設定としてで保存されることにありました。そのため、競合が生じ、たとえば、あるフォルダー ウィンドウではプレビュー ウィンドウのサイズが適切でも、小さなフォルダー ウィンドウではやたらと大きく感じるという状況が発生しました。
秩序の回復
解決策 (そう言い切って良いかどうかは定かではありませんが) は、エクスプローラー ウィンドウのサイズと位置を、フォルダーごとの設定ではなくグローバル設定にすることでした。フォルダーを慎重に配置して、それぞれ画面の違う場所に特定のサイズで表示しているユーザーもいます。この解決策により、このようなユーザーは、慎重に配置したウィンドウの設定を失うことになりました。
強化された Windows 7 のウィンドウのサイズ変更と配置の機能 (Aero スナップなど) により、通常の操作の中で、正確にウィンドウを配置する必要性が軽減されるという期待がありました。この手法の欠点は、すべてのフォルダー ウィンドウが同じサイズで同じ場所に表示されるようになったことでした。これが、"ログオン時に以前のフォルダー ウィンドウを表示する" 機能の課題で、ログオン時に表示されるウィンドウは、すべて重なり合って表示されるようになりました。この解決策を導入した結果は非常にお粗末なものとなり、いずれにしても、この機能は 8 年間既定で無効になっていたので、マイクロソフトは Windows 7 の開発の段階で、この機能を削除することにしました。
ですが、ユーザーからフィードバックがすぐに寄せられ、そして、Windows 7 の最終版のリリースでは、この機能が復元されることになりました (厳密には、復元されたわけではありませんが)。ウィンドウの配置に関するグローバル ポリシーは採用されていますが、"ログオン時に以前のフォルダー ウィンドウを表示する" 機能には特別な対応がなされています。
ログオフすると、このようなウィンドウのサイズと位置の情報は、特別な場所に保存されます。そのため、"ログオン時に以前のフォルダー ウィンドウを表示する" 機能では、ログオフしたときに配置されていたのとまったく同じ場所にウィンドウを表示することができます。以上の理由から、不思議な値が保存されるようになりました。ウィンドウを手動で開くと、グローバル ルールに従って処理されます。
Raymond Chen は自分の Web サイト「The Old New Thing」および同じタイトルの書籍 (Addison-Wesley、2007 年) で、Windows の歴史、Win32 プログラミング、そして黒い粘着テープの幻の修復力について触れています。