山田祥平のWindows 7カウントダウン

タスクバーはプログラムがお好き



 寡黙に見えたデスクトップだが、タスクバーは次第にユーザーをプロファイリングしはじめ、饒舌に操作のナビゲートを始める。だが、そのためには、ユーザーからの働きかけが必要だ。今回は、タスクバーの新たな機能としてジャンプリストに注目してみよう。

●失われたクイック起動

 新しいタスクバーのタスクバーボタンには、既定ではラベルが表示されず、表示されるのはアイコンだけだ。そして、未起動、起動済みにかかわらず、任意のアイコンを、ボタンとして表示しておけることは前回紹介した通りだ。

 この新しいタスクバーは、従来型タスクバーと従来型クイック起動の合体であるといわれることもある。だが、操作していくと、そのどちらでもないことがわかってくる。

 純粋な意味でのクイック起動はなくなってしまった。Vistaまでのクイック起動は、そこに登録したアイコンを左から番号で区別し、ショートカットキーで起動することができた。たとえば、Windowsキー+1なら、クイック起動の左から1番目、Windows+2ならクイック起動の左から2番目を起動する。すでに、そのプログラムが起動している場合も、有無をいわさず新しいウィンドウを開く。タスクバーに新規ツールバーとして任意のフォルダを登録すれば、クイック起動もどきはできるが、Windowsキーコンビネーションによるクイック起動はできない。

 なぜなら、Windows 7では、このWindowsキーを押しながら数字キーを叩くショートカットが、タスクバーボタン上のアイコンに対応するからだ。

 デフォルトでは、左端の登録アイコンはInternet Explorerだ。Win+1を打鍵して、Windows キーと数字キーの組み合わせを試してみると、次のようになる。

・未起動の場合 Internet Explorerが開く
・ウィンドウが1つ開いている場合 開いているウィンドウが最小化される
・ウィンドウが1つ最小化されている場合 最小化されたウィンドウが元のサイズに
・ウィンドウが2つ以上開いている場合 ウィンドウの状態にかかわらず、サムネールプレビューを表示。Windowsキーを押しながら1を押すごとにアクティブなウィンドウが切り替わる
・ウィンドウが1つで、その中で複数のタブが開いている場合 ウィンドウが2つ以上のときと同じ

 そして、これらの振る舞いは、タスクーバーボタンをマウスで操作した場合も同様だ。単にタスクバーボタンをクリックしても、そのときのプログラムの起動状態、ウィンドウの状態によって振る舞いが異なる。また、ウィンドウがすでに開いているときには、Shiftキーを押しながらアイコンをクリックすると、新しいウィンドウが開くようになっている。

●プログラム指向のジャンプリスト

 Windows 7の新タスクバーは、特定のドキュメントを、何のアプリケーションで開いているか知っていることをユーザーに期待しているようだ。タスクバーボタンとして並んでいるのは単なるアイコンだけなので、そのアイコンがどのアプリケーションのものなのか、そして、自分が開きたいドキュメントが、どのアプリケーションと関連付けられているかを知っていなければならないのだ。

 たとえば、フォルダを開き、「各社夏モデルスペック比較表」というドキュメントを見つけ、それをダブルクリックして開いたとしよう。当然、それを作成したアプリケーションが起動し、そのドキュメントを開く。ここでは、ユーザーがそのアプリケーションの名前を知っている必要はない。

 「表なら当然Excelでしょ」、と思うユーザーばかりではない。「表を作るなら断然Wordだよ」、と決めているユーザーもいる。計算が必要なく、用紙サイズを考慮したレイアウトを工夫するならWordで作表した方が効率がいいという考え方もあるわけだ。

 タスクバー上に登録されていないアプリケーションが起動すると、そのアプリケーションのアイコンがタスクバーボタンとして追加表示される。そして、そのアプリケーションを終了するとタスクバーボタンは消える。

 もし、既定のボタンと同様に、特定のアプリケーションのボタンを恒久的に表示させたい場合は、追加表示されたボタンを「ピン留め」する。このときに使うオペレーションが右クリックによるジャンプリストの表示だ。

 ボタンを右クリックして表示されるジャンプリストは、そのアイコンに対して働きかけることのできるアクションをリストとして表示するものだ。そして、そのうちの1つが「タスクバーにこのプログラムを表示する」「タスクバーにこのプログラムを表示しない」というタスクバー・タスクだ。表示するように設定すれば、そのアイコンは、恒久的にタスクバー上に表示されるようになる。

 どんどんタスクバーボタンを追加していくとどうなるかというと、タスクバーいっぱいになった時点で2行目のボタンエリアができ、そちらにページを切り替えて操作しなければならなくなる。一覧性がよくないので、あまりおすすめはできない。

サムネールプレビューで開いているウィンドウの内容がわかる。IEのボタンは左端なので、Windowsキー+1を繰り返し打鍵するとアクティブなウィンドウやタブが切り替わるボタンの右クリックでジャンプリストが表示され、そのボタンを恒久的に表示するかどうかを設定できる。ジャンプリストにはそのアイコンに対してできるさまざまなアクションが項目として並ぶたくさんのボタンを表示しすぎると、新しいページができ、切り替えないとアクセスできなくなる

 ジャンプリストには、アイコンに応じて、さまざまな項目がリストとして並ぶ。Internet Explorerなら頻繁に訪れるサイト、inPrivateや新しいタブのオープンといったタスクが並ぶ。また、Live Messengerならオンラインや取り込み中といった状態の変更がここからできるなど、プログラムごとにジャンプリストの構成は異なる。ちなみに、ジャンプリスト内には、自分自身の名称も項目として並んでいて、そのクリックで、新しいインスタンスとして開くようになっている。

ツールバーアイコンはオーバーレイで状態表示ができる。巨大なファイルをコピー中、プログレスバーとエクスプローラのタスクバーボタンの緑色の対応に注目してみよう。ダイアログボックスを最小化しても途中経過がわかるようになっている

 さらに、タスクバーボタンの重要な機能としてオーバーレイによる「状態表示」がある。たとえばIEで大きなサイズのファイルをダウンロードしたり、エクスプローラで大きなファイルをコピーしたりするような場合、ボタン自身がプログレスバーとして機能する。オーバーレイ表示で、さまざまな状態をシンボル化できるようだ。従来は通知領域を使っていたようなプログラムも、タスクバーボタンへの移行が進むことになるだろう。

 これらは、Windows 7のDestination List APIにネイティブ対応するプログラムが、うまく活用していくはずだ。

IEのジャンプリストでは頻繁に訪れるサイトが登録される。各サイトは右クリックすれば一覧から明示的に削除することもできるLive Messengerのジャンプリストではオンライン状態などをその場で変更できるエクスプローラのジャンプリストでは、よく使う場所が項目として表示される

●タスクバーボタンにとって、プログラムとは何なのか

 このように、ユーザーが自分の使うアプリケーションを確実に認知している場合、新しいタスクバーはとても使いやすく合理的だ。クイック起動と従来型タスクバーの合体だといわれるのも理解できる。

 ところが、タスクバーボタンに配置できない種類のオブジェクトがある。たとえば、よく使うドキュメントをタスクバーにドロップすると、そのドキュメントに関連づけられたアプリケーションがボタンとして表示され、ドキュメントはそのジャンプリスト内に「いつも表示する」というカテゴリの項目として表示されるようになる。

 つまり、ドキュメントのショートカットをボタンとして配置することはできない。したがって、そのドキュメントを作成したアプリケーションが何なのかを知らない限り、目的のドキュメントにたどり着けないこともありうる。そういった制限がある。

 タスクバーには独自に作ったプログラムのショートカットを配置することもできない。ショートカットは、コマンドラインオプションを指定して振る舞いを変えることのできるアプリケーションでは重宝するのだが、それができなくなってしまっている。

 また、インターネット接続先のショートカットや、バッチファイルも登録ができない。VBスクリプトのように、ホストプログラムが必要なものは、ホストプログラム自身としてWindows Based Script Hostが登録され、そのジャンプリストにスクリプトが表示されるようになる。身近な例では、起動すると通知領域に常駐し、タスクバーボタンとしては表示されない種類のプログラムもボタンとしては配置できない。

 こうした振る舞いを見る限り、新しいタスクバーは改悪されている部分もあるのだということを認識しておきたい。タスクバーにおける主役は常にプログラムなのだ。プログラムしか相手にしない。テキストファイルをタスクバーにドロップすれば、メモ帳が登録され、ジャンプリストにそのファイルが登録されるが、ビットマップファイルをドロップすることはできない。なぜなら、ビットマップファイルをデフォルトで開くのはペイントではなく「Windowsフォトビューワー」で、これはdllhost.exeが実体のCOM Surrogateの管轄だからだ。

 プログラムとは何なのか。OSが認識するプログラムと、ユーザーの認識するプログラムの齟齬がボタンの掛け違いにつながらなければよいのだが。


バックナンバー

(2009年 6月 3日)

[Text by 山田 祥平]