#049 画面に映り行くよしなしもの

1999/02/18

<前目次次>


 今度はスクリーンセイバーのお話。

 スクリーンセイバーとは本来、画面の焼き付けを防止するためのものである。画面の焼き付けとは何か。CRTと呼ばれるテレビのブラウン管によく似たディスプレイの場合、画面に同じ模様が長い時間映っていると、ディスプレイをOFFにしたときにもその模様が画面に残ってしまう。この現象のことを焼き付けという。MS-DOSのプロンプトやMacOSのアップルマークなどは、大抵同じ位置に表示されているため、よく焼き付けが起きていた。そこで、画面表示などが一定の時間同じ時に、動く画面を表示して、画面の焼き付けを防止するようなプログラムが作られた、それがスクリーンセイバーというものである。

 初期のスクリーンセイバーは、要するに画面の焼き付けを防止する目的が達成できればいいのであるから、ドットの絵が動くだけの単純なものであったが、次第にこれが壁紙と同じように個性的なものになり、非常に凝った絵が動くものが出始めた。

 凝った絵のスクリーンセイバーのはしりは「アフターダーク」と呼ばれるものであろう。これは数十種類のスクリーンセイバーが集められたソフトウェアパッケージであり、ユーザーの好みに合わせてスクリーンセイバーを選ぶことができた。かの有名な「フライングトースター」と呼ばれる、トースターとトーストが交互に空を飛ぶという、冷静に考えると非常に不条理な景色のスクリーンセイバーが収められていたのも「アフターダーク」である。日本ではこれをもじった、お釜と御飯が交互に空を飛ぶ「フライングライスクッカー」なんていうスクリーンセイバーも作られた。

 スクリーンセイバーは時間制御やプロセス監視を必要とするため、どちらかというとマルチタスクOSの専売特許のようでもあるが、MS-DOSの時代にもなかなかすぐれたスクリーンセイバーがいくつもあった。水族館のように魚が泳ぐもの、雪が降るもの、星が瞬くものなどなど。MS-DOSはシングルタスクなので、通常はスクリーンセイバー自身が常駐ソフトだったり、あるいは別の常駐ソフトを介して動作させる必要があり、組み込みには結構工夫が必要だったりしたのだが、それらは見ているだけで結構楽しくて、凝り始めると、それが見たいがためにずーっと何もしないでパソコンの画面を眺めているという本末転倒なことになったりもしていた。

 私も昔はMS-DOS上で凝ったスクリーンセイバーをいろいろ試していたが、最近では以下のようにスクリーンセイバーとともにいくつかの仕事をさせるような、一種のシステムと言ってもいいスクリーンセイバーを使っている。

 まず動作をやめて3分たつと、文字列が場所を変えながら表示されるという簡単なスクリーンセイバーが働く。表示される文字列は、自分が集めて作った一行格言集のファイルからランダムに抽出した格言を表示させるようにしている。実行される度に違う格言が流れて、なかなか勉強にもなる。

 さらに2分たつと、今度はグラフィック文字列を使ったスクリーンセイバーが流れる。これ自体はikisakiという、もともと自分が不在の際の行き先などを表示させるためのフリーのスクリーンセイバーなのであるが、このプログラムと自作のプログラムなどをバッチファイルで組み合わせて、状態に応じて表示させる文字列を変えるような仕組みにしてある。まずメールスプールをチェックし、メールがある場合にはメールの到着と通数を「2 New, 3 read, 1 sent mails」などと表示する。メールが無い時には、直近のスケジュールを「打ち合わせ 13:00-」などと表示する。スケジュールもない場合は現在の時刻を「11:34 February 18, 1999」などと表示するという仕組みにしている。つまり状態に応じて優先度の高い適切な情報を表示してくれるわけである。メールはスクリーンセイバー起動中ももちろん定期的にチェックして、新しいメールが届けばその度ごとに表示が変わるようにしている。

 また同時に、スクリーンセイバーの起動時には、それまでの作業で更新したファイルを自動的に選別してブリーフケース(作業中のファイルを別の環境に移すための書類鞄に見立てた仮想的なフォルダ)にコピーを作るようにしている。シングルタスクながら、自分が作業をしていない時に必要な作業をすべてやってくれるという、究極の自作スクリーンセイバー・システムであり、なかなか便利に使っている。

 もちろん今ではWindowsの場合でも、スケジュールマネージャーなどがついて、決まった時間にデフラグをしたりウイルスチェックをしたりということもしているだろう。マルチタスクのOSであればメールの常時チェックくらい当たり前という話もある。ただWindowsのマルチタスクもまだまだ安定したものとは言い難く、いくつもプロセスを裏で走らせると、簡単に動作が鈍くなったり不安定になったりするので、あまり調子に乗ってあれこれとするわけにはいかなかったりする。自分が作業しているときに裏で勝手にデフラグなどの重くて危険な作業を始めるのはなかなか迷惑でもある。

 ということで私の場合、今のところWindowsのシステムの方は、スクリーンセイバーを走らせるどころか、時間がたったら単に画面を消してしまうだけの設定にしてある。MS-DOSの常用システムに比べて、Windowsに対してはあくまで冷淡な私である。


<前目次次>