■フリーソフト実行中のウィンドウ全体を縮小したサムネイルが表示される◎そのほかのスクリーンショットメインパネル。実行中のアプリケーションウィンドウをデスクトップ上にサムネイル表示するソフト。「BreathOfWindow」は、タスクトレイ常駐型のデスクトップユーティリティ。実行中のアプリケーションウィンドウをデスクトップにサムネイルで表示するほか、ランチャ機能やプログラムを設定時刻に起動するスケジューラ機能も持つ。サムネイルとして表示されるのはウィンドウ全体。拡大表示させることも可能で、拡大時には表示範囲を移動させ、見たい部分を表示させることができる。縦横いずれか一方向への拡大も行える。サムネイルは随時更新され、元ウィンドウに変化があった場合は、サムネイルにも反映される。元ウィンドウが最小化された場合も、サムネイルはそのまま表示される。最小化されたウィンドウの復帰はタスクバーからではなく、サムネイルのダブルクリックで行うようになっている。サムネイルの表示位置は、デスクトップの上下左右のいずれかを指定することが可能。デスクトップ端からどのくらいのマージンを取るかも細かく設定できる。サムネイルサイズは3種類から選択することが可能で、透明度も20%〜100%の範囲で指定できる。表示されたサムネイルのサイズを変更できるほか、元ウィンドウが最小化されたサムネイルは移動させることもできる。サムネイルの整列や順番の並べ替えも簡単に行える。特定のウィンドウをサムネイル表示の対象から外すこともできる。ランチャ機能も備える(編集部注:ランチャ機能はVer.1-0-1-124から割愛されている)。アイテムの登録は、タスクトレイアイコンから呼び出せるランチャパネルか、またはサムネイルのコンテキスト(右クリック)メニューから行える。作業フォルダや実行時の引数指定も可能。アイテムの起動はランチャパネルから行う。ランチャにはスケジューラ機能もあり、登録済みのアイテムを、指定したタイミングで自動起動させることが可能。同じ作者による「SkyGate」というアプリケーションと連動させることもできる。EYEいくつものウィンドウを開いて作業をしていて、ウィンドウを切り替えようとしたときに、タスクバーでは目的のウィンドウがどれなのかわかりにくいことがある。した経験の多い人に便利なのが「BreathOfWindow」だ。サムネイルで一発、目的のウィンドウを見つけることができる。サムネイルからウィンドウを切り替えるには、ちょっとしたコツ(?)がある。実は最小化されていない通常のウィンドウは、サムネイルからは切り替えられない。ひとつのウィンドウでの作業をいったん中断し、あとでそのウィンドウをサムネイルから復帰させるためには、最小化しておく必要がある。言葉でいうと面倒臭そうだが、実際にはそんなこともなく、慣れてしまえばなんということはない。ランチャ機能も備えているが、タスクトレイアイコンからランチャパネルを開き、そこからアイテムを起動するというアクションが必要になるので、現状の仕様ではむしろスケジューラとして考えるべきではないだろうか。いずれにしてもおもしろいソフトで、サムネイルが元ウィンドウの変化に追随する機能や拡大表示機能を使って、さまざまな使い方ができるだろう。佳彦)ソフト作者からひとことソフトを開発しようと思った動機、背景もともとは通信の試験をする際にリモート系ソフト(VNC、リモートデスクトップ等)を使用して、通信相手の状態を確認しながら手元のソフトを操作することが多く、画面をたくさん立ち上げて、画面を切り替えながら作業をすることが多かったのですが、開発用のノートパソコンでは結構煩雑な作業で、別にじっと見ているわけではないので、普段は小さくサムネイル化して、必要なときにトリミングしたり、元のウィンドウに戻してリモート操作できるようなものがあればいいなと以前から考えていました。このソフトに先行して拙作の「窓の調べ」というソフトを作ったのですが、このソフトはWindowsの挙動を調査する目的(特にレイヤードウィンドウ)で作成したのですが、このソフトを作った際にLayered関係の資料と一緒にprintWindow()APIの説明があり、このAPIはプロセスの壁を越えて、対象アプリケーションにWindow描画を依頼することができることがわかりました。「窓の調べ」で見えていないウィンドウをキャプチャする方法をいろいろと試してみた結果で、「BeathOfWindow」でやっているようなことができそうという結論になりました。初版は「窓の調べ」のコードを組み立て直すだけなので、そう苦労なくできたのですが、実際に複数のウィンドウをサムネイル化すると、元ウィンドウが同じ大きさのbitmapを保持していたため、リソース不足にすぐにぶつかりました。Windows全体とは別にプロセスごとに使用できるリソースに制限があるようで、リソースの節約のため、キャプチャしたタイミングでサムネイルウィンドウのサイズにストレッチして保持するようにしました。これでリソースの問題は実用レベルまできたのですが、先にストレッチしてしまうので、トリミングアルゴリズムが複雑になってしまいました。見るとわかるのですが、トリミング(拡大)をはじめたときは結構荒い画像で、暫くすると解像度が上がっていると思います。次のキャプチャタイミングで調整しています。調整用の設定をつけるのはあまり好きではないですが、使用するパソコンの性能に合わすことができるように、サムネイルウィンドウの上限とキャプチャ間隔を調整できるようにしています。当方のように「リモートの画面をサムネイルで見たい」という人はあまりいないと思いますが、自己リロードするWeb画面を画面の隅でチラチラ見るのが普通の使い方のような気がします。相場をやられている方なら日経平均やTOPIX、為替のグラフ、スポーツ好きの方ならスコアボードなどですかね。Operaなどだとブラウザに定期的に表示を更新する機能があるので、気になるWebの更新を確認もできます。タスクマネージャの一部をトリミングして、CPUの使用状況等もよく見ていますね。あとメーラもサムネイルの状態でデスクトップに置いています。受信メールが溜まってきたら、元のウィンドウに戻して処理したりしています。常時5枚ぐらいを画面左に並べて使うのが最近の定番になっています(タスクマネージャ、リモート2枚、メーラ、Web1、2枚)。今後のバージョンアップ予定いまのところ機能を追加する予定はないのですが、課題が3点残っています。表示しているウィンドウの再描画のタイミングとキャプチャのタイミングがぶつかると、見えている方のウィンドウの再描画が一部抜けてしまう現象があります。フォアグランドのウィンドウのキャプチャは止めているのですが、画面が切り替わる瞬間にぶつかると、やはりウィンドウの再描画抜けが発生します。見えているウィンドウのキャプチャはやる必要があまりないのかもしれませんので将来、キャプチャは最小化しているときにのみにするかもしれません。2ペイン、3ペインのドキュメントタイプのウィンドウのキャプチャで、キャプチャ抜けが発生します(具体的にはエクスプローラ、Excel等)。これは、いまのところサムネイルにしたいウィンドウではあまりでないので、放置するつもりです(手立てもないのですが......)。printWindow()APIの仕様なのかもしれませんが、描画に時間がかかると最後のペインの描画が抜けることがあるようです。相手ウィンドウの暇のときを見計らって(変な表現ですが)キャプチャしているのですが、完全になくなることはないようです。原因はよくわかっていないのですが、突然キャプチャできない(ウィンドウの左上部分のみになる)ことがまれにあります(もう一度元画面に戻して最小化すると現象がでない)。対応の有無や時期などは未定です(もしかしてリソースに余裕があるVistaや、CPUにパワーがあるパソコンだとあまり現象が出ないかもしれません)。自分でもお気に入りのソフトです。「今後のバージョンアップ予定」に書いたような問題もあるのですが、動くサムネイルにしたいような画面ではあまり問題が発生しないので、毎日快適に使っています。9月24日現在、作者のホームページではVer.1-0-1-126をダウンロードできる。Ver.1-0-1-124からはランチャ機能は削除されている(別ソフト「LauncherOnSchedule」で同等の機能が提供されるようになった)上で紹介したソフト(およびその関連ソフト)のソフト詳細ページにジャンプします。ソフト詳細ページからリンクされたダウンロードページでソフトをダウンロードできます。ソフト詳細ページには、作者データページへのリンクもあります。PROiTunesを介さずにiPhone・パソコン間でファイルを簡単に転送。ProGoogleカレンダーやOutlookと同期。PROパソコンの遅い、重いを1クリックで解消。